﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Yqd.Enm;

namespace Yqd.Models
{
    //进展反馈
    public class Yqd_PlanProgress
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ProgressID { get; set; }

        [DisplayName("任务编号")]
        public long TaskID { get; set; }

        [DisplayName("事项编号（钉办督导编号、协同管理编号")]
        public int ItemID { get; set; }

        [DisplayName("事项类型（钉办督到、协同管理）")]
        public 事项类型 ItemType { get; set; }

        [DisplayName("交办编号")]
        public int AssignID { get; set; }

        [DisplayName("工作方案编号")]
        public int SchemeID { get; set; }

        [DisplayName("工作计划编号")]
        public int PlanID { get; set; }

        /// <summary>
        /// 反馈周期+
        /// </summary>
        [DisplayName("本期反馈时间")]
        public DateTime? FeedbackTime { get; set; }

        [DisplayName("本期进展情况")]
        public string ProgressInfo { get; set; }

        [DisplayName("佐证材料")]
        public string ProofMaterial { get; set; }

        [DisplayName("存在问题")]
        public string Problem { get; set; }

        [DisplayName("经验做法")]
        public string Experience { get; set; }

        [DisplayName("经验材料")]
        public string ExperienceMaterial { get; set; }

        [DisplayName("完成数")]
        public int CompleteCount { get; set; }

        [DisplayName("当前完成数")]
        public int CompletingCount { get; set; }

        [DisplayName("反馈状态")]
        public 任务状态 ProgressStatus { get; set; }

        [DisplayName("审核状态")]
        public 审核状态 CheckStatus { get; set; }

        [DisplayName("退回原因")]
        public string ReturnReason { get; set; }

        [DisplayName("审核时间")]
        public DateTime? CheckTime { get; set; }

        [DisplayName("创建时间")]
        public DateTime Instime { get; set; }

        [DisplayName("创建者")]
        [StringLength(50)]
        public string EmployeeCode { get; set; }

        [DisplayName("部门")]
        [StringLength(50)]
        public string UnitCode { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDel { get; set; } = false;

        /// <summary>
        /// 审核状态，0：待审核 1：审核中
        /// </summary>
        public int AuditStatus { get; set; }
    }
}
